在Android6.0及以上版本中,即使在AndroidManifest.xml文件里配置了如下权限:
运行时会也会报错:
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:xxxxxx cmp=com.android.server.telecom/.components.UserCallActivity } from ProcessRecord{ece7708 3894:com.test.xianxiaotao.test/u0a79} (pid=3894, uid=10079) with revoked permission android.permission.CALL_PHONE
这是因为Android6.0及以上版本增添了动态权限。在哪个页面需要这个权限只需要直接去请求就行了,而且还有了相应的监听的方法供你来判断。具体使用参考如下代码:
运行结果:
使用权限的页面中弹出提示框并被允许,则以后不再弹出。